﻿using System.Runtime.InteropServices;

namespace LFSRecord2.Misc
{
    [StructLayout(LayoutKind.Sequential)]
    public struct DeviceMode
    {
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
        public string DMDeviceName;
        public short DMSpecVersion { get; set; }
        public short DMDriverVersion { get; set; }
        public short DMSize { get; set; }
        public short DMDriverExtra { get; set; }
        public int DMFields { get; set; }
        public short DMOrientation { get; set; }
        public short DMPaperSize { get; set; }
        public short DMPaperLength { get; set; }
        public short DMPaperWidth { get; set; }
        public short DMScale { get; set; }
        public short DMCopies { get; set; }
        public short DMDefaultSource { get; set; }
        public short DMPrintQuality { get; set; }
        public short DMColor { get; set; }
        public short DMDuplex { get; set; }
        public short DMYResolution { get; set; }
        public short DMTTOption { get; set; }
        public short DMCollate { get; set; }
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
        public string DMFormName;
        public short DMUnusedPadding { get; set; }
        public short DMBitsPerPel { get; set; }
        public int DMScreenWidth { get; set; }
        public int DMScreenHeight { get; set; }
        public int DMDisplayFlags { get; set; }
        public int DMDisplayFrequency { get; set; }
    }
}
